home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er Special 33
/
64er_Magazin_Sonderheft_33_19xx_Markt__Technik_de_Side_B.d64
/
viza->fontm.
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
5KB
|
288 lines
20 nu$=chr$(0)
50 printf1$"[147][176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]"
51 print"[221] [221]"
52 print"[221] [221]"
53 print"[221] filetrans viza -> fontmaster [221]"
54 print"[221] [221]"
55 print"[173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]"
80 gosub 1000
90 fori=1to18:print:next
91 :
92 :
93 :
94 :
95 :
96 : rem filenamen holen
97 :
98 :
99 :
100 open15,8,15,"i"
120 gosub2000:input"read filename:";n$
130 nl$=n$+",p,r"
140 open2,8,2,nl$
150 input#15,f1,f$,f2,f3
160 print:printtab(5)f$;:iff1=0then 200
161 close2
170 gosub 3100
190 goto120
200 print:ns$=left$(n$,13)+".fm"
210 gosub2000:print"save filename: "ns$
220 input"[145]";ns$
230 nw$="0:"+ns$+",s,w"
240 open3,8,3,nw$
250 input#15,f1,f$,f2,f3
260 printtab(5)""f$;:iff1=0then 300
261 close3
263 iff1=63then print" replace?";:gosub3000:ifc=0then 200
270 gosub 8000
291 :
292 :
293 :
294 :
295 : rem header zusammenstellen
296 :
297 :
298 :
299 :
300 gosub 2000:print"choose header, please"
305 hd$=chr$(97)+"uo10"
306 gosub 2000:print"justification on";
307 gosub 3000:ifc=1thenhd$=hd$+":js"
308 print tab(5)"proportional on ";
309 gosub 3000:ifc=1thenhd$=hd$+":py"
310 a=72:gosub 2000:print"paperlength "a"[157][157][157][157][157]";
311 input a:gosub2100:hd$=hd$+":pl"+a$
312 a=6:printtab(5)"lines per inch "a"[157][157][157][157]";
313 input a:gosub2100:hd$=hd$+":ls"+a$
316 a=0:gosub 2000:print"top margin "a"[157][157][157][157]";
317 input a:gosub2100:hd$=hd$+":tm"+a$
318 a=10:print tab(5)"bottom margin "a"[157][157][157][157][157]";
319 input a:gosub2100:hd$=hd$+":bm"+a$
320 hd$=hd$+chr$(13)
321 :
322 :
323 :
324 :
325 : rem vw-header eleminieren
326 :
327 :
328 :
329 :
330 gosub 2000:print"working..."
331 printtab(5)"please wait !"
335 b$=chr$(241)
340 get#2,a$:ifst<>0then 500
341 if a$<>b$ then340
350 gosub 2000:print"writing fm header... ";
351 print#3,hd$;:ifst<>0then 500
362 :
363 :
364 :
365 : rem transfer-schleife
366 :
367 :
368 :
400 sys 49152,a,220,219,230,235,241
410 onagosub 550,750,600,800,900
420 ifst=0then400:rem end of file?
490 :
491 :
492 :
495 : rem ende
496 :
497 :
498 :
500 input#15,f1,f$,f2,f3
503 gosub2000:print"file closed"
505 printtab(5)"disk-status:"f1;f$
506 close2:close3:close15
510 gosub 2000
512 print"more files";
513 gosub3000
520 ifc=0 then end
530 goto100
540 :
541 rem *******************************
542 :
543 :
544 :
545 : rem cr ausgeben
546 :
547 :
550 tz=0:iflm=la then 580
555 lm=la
560 a=lm:gosub 2100:lm$=a$
570 print#3,chr$(13)chr$(97)"in+0:lm"lm$;
580 print#3,chr$(13);:return
592 :
593 :
594 : rem formatzeile holen
595 :
596 :
600 gosub2000:print"checking format line... ";
610 l=2:lm=l-1:tb=-1:tz=0
615 for l=2to255
620 get#2,a$
621 v=asc(a$+nu$):if st then500
630 if v=220 then 700:rem cr
640 if v=219 then tb=tb+1:ta(tb)=l:iftb=0then lm=l:rem tab setzen+lm
650 next l
697 :
698 : rem formatzeile schreiben
699 :
700 la=lm:a=lm:gosub2100:lm$=a$
705 a=l-2:gosub2100:rm$=a$
710 print#3,chr$(97)"lm"lm$;
715 print#3,chr$(58)"rm"rm$;chr$(13);
720 print"ok":l=255:nextl
725 if tb=0then ta(1)=lm+1
726 if tb=-1then ta(1)=1
730 return
740 :
741 :
742 : rem tab
743 :
744 :
750 tz=tz+1:iftz>tb then tz=1:iftb>0then print#3,chr$(13);
760 a=ta(tz):gosub2100:ta$=a$
770 print#3,chr$(97)"ta"ta$;chr$(124);
780 return
790 :
791 :
792 : rem indent
793 :
794 :
800 rem
805 tz=tz+1:iftz>tb then tz=1:iftb>0then print#3,chr$(13);
810 a=lm:lm=ta(tz):in=a-lm
820 a=lm:gosub2100:lm$=a$
830 in$=str$(in)
840 print#3,chr$(97)"lm"lm$":ta"lm$":in"in$;chr$(124);
850 return
892 :
893 :
894 : rem next page
895 :
896 :
900 print#3,chr$(97)"np":return
986 :
987 :
988 rem *******************************
989 :
990 :
991 :
992 :
993 :
994 : rem init
995 :
996 :
997 :
998 :
999 :
1000 dim n(255),ta(255)
1010 f1$="[152]":f2$=""
1020 k1$="":k2$=""
1021 kd$="[192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]"+chr$(13)
1022 kd$=kd$+chr$(13)+""+kd$+f1$+"[145][145][145][145][145][145]"
1023 kl$=" "+chr$(13)
1025 fori=1to5:km$=km$+kl$:next
1030 km$=km$+"[145][145][145][145] "
1100 fori=49152 to 49322:reada:pokei,a
1110 next
1190 v=49408
1200 fori=0to31:pokev+i,i+64:next
1210 fori=32to63:pokev+i,i:next
1211 fori=65to95:pokev+i,i+128:next
1220 pokev+58,62
1221 pokev+59,60
1222 pokev+101,59 :rem ae klein
1223 pokev+118,58 :rem oe klein
1224 pokev+120,64 :rem ue klein
1225 pokev+121,93 :rem ae gross
1226 pokev+122,91 :rem oe gross
1227 pokev+123,127:rem ue gross
1228 pokev+124,92 :rem ss
1229 pokev+220,13 :rem return
1230 pokev+237,234:rem fett
1231 pokev+238,251:rem underline
1232 pokev+239,245:rem superscript
1233 pokev+236,246:rem subscript
1900 return
1987 :
1988 :
1989 :
1990 :
1991 :
1992 :
1993 :
1994 : rem ausgabe wechseln
1995 :
1996 :
1997 :
1998 :
1999 :
2000 rem kasten
2010 ifkf=0thenprintf1$k1$k2$kd$ k1$f2$kd$km$;:kf=1:return
2020 ifkf=1thenprintf1$k1$kd$ k1$k2$f2$kd$km$;
2030 kf=0:return
2090 :
2091 :
2092 :
2093 :
2094 :
2095 : rem a in a$ wandeln
2096 :
2097 :
2098 :
2099 :
2100 a$=str$(a):ifa<0then return
2110 a$=right$(a$,len(a$)-1)
2120 return
2990 :
2991 :
2992 :
2993 :
2994 :
2995 : rem tastenabfrage get y/n
2996 :
2997 :
2998 :
2999 :
3000 print" <y>[157][157]";
3020 gosub 3100
3030 ifa$="y"ora$=chr$(13) then c=1:a$="y":goto3060
3040 ifa$<>"n"then3020
3050 c=0
3060 print a$
3070 return
3080 :
3081 :
3082 :
3100 poke204,0
3110 geta$:ifa$=""then3110
3120 poke204,1:return
7990 :
7991 :
7992 :
7993 :
7994 :
7995 : rem file scratchen
7996 :
7997 :
7998 :
7999 :
8000 :
8030 no$="s0:"+ns$:print#15,no$
8040 input#15,f1,f$,f2,f3:iff1<>1then print f$:goto500
8050 open3,8,3,nw$:return
8051 data169,0,141,0,195,32,156,192,176,33,32,139,176,133,73,132,74,32,156
8052 data192,176,21,238,0,195,208,3,76,8,175,32,158,183,138,174,0,195,157
8053 data0,195,76,17,192,32,204,255,169,0,133,252,162,2,32,198,255,32,207
8054 data255,174,0,195,240,8,221,0,195,240,10,202,208,246,230,252,164,252
8055 data153,0,194,134,251,166,144,134,36,208,9,165,251,208,5,166,252,232
8056 data208,216,165,252,240,37,32,204,255,162,3,32,201,255,160,0,200,185
8057 data0,194,170,189,0,193,32,210,255,165,144,208,26,196,252,208,237,165
8058 data251,208,4,165,36,240,163,169,0,164,251,32,145,179,165,14,32,194,169
8059 data165,36,133,144,32,204,255,96,32,121,0,201,44,240,2,56,96,32,115,0
8060 data24,96,96